package com.qinglei.recoup.system.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qinglei.recoup.common.exception.RecoupException;
import com.qinglei.recoup.common.exception.RedisConnectException;
import com.qinglei.recoup.system.domain.Tenant;
import com.qinglei.recoup.system.pojo.AddTenantParam;
import com.qinglei.recoup.system.pojo.PageParam;
import com.qinglei.recoup.system.pojo.TenantAssetVO;
import com.qinglei.recoup.system.pojo.TenantDetailVO;
import com.qinglei.recoup.system.pojo.TenantSearchParam;

/**
 * @author syp
 */
public interface TenantService extends IService<Tenant> {

    /**
     * 添加机构
     * @param param
     * @return
     */
    boolean add(AddTenantParam param) throws RecoupException, RedisConnectException;

    /**
     * 分页查询列表
     *
     * @param searchParam
     * @param pageParam
     * @return
     */
    IPage<TenantDetailVO> getPageList(TenantSearchParam searchParam, PageParam pageParam);

    /**
     * 获取机构的资产信息
     * @return
     */
    TenantAssetVO getTenantAssetInfo();
}
